@echo off
chcp 65001 >nul
cls
color 0B

echo.
echo ════════════════════════════════════════════
echo   简单测试 - 第三方APP获取位置
echo ════════════════════════════════════════════
echo.

rem 选择设备
set DEVICE=
for /f "skip=1 tokens=1" %%i in ('adb devices 2^>nul ^| find "device"') do (
    if not defined DEVICE set DEVICE=%%i
)

if "%DEVICE%"=="" (
    echo ❌ 未找到设备
    pause
    exit /b 1
)

if "%DEVICE%"=="emulator-5554" (
    set DEVICE=-s emulator-5554
    echo 📱 使用模拟器
) else if "%DEVICE%"=="4f6c2e31" (
    set DEVICE=-s 4f6c2e31
    echo 📱 使用真机
) else (
    set DEVICE=
    echo 📱 使用默认设备
)

echo.
echo ════════════════════════════════════════════
echo   获取当前位置 - 模拟第三方APP
echo ════════════════════════════════════════════
echo.

echo [1/3] 获取GPS位置...
echo.
adb %DEVICE% shell "dumpsys location | grep -A 20 'gps' | grep -E 'Location|latitude|longitude'" 2>nul
if errorlevel 1 (
    adb %DEVICE% shell dumpsys location | findstr /C:"gps" | findstr /C:"Location"
)
echo.

echo [2/3] 获取Network位置...
echo.
adb %DEVICE% shell "dumpsys location | grep -A 20 'network' | grep -E 'Location|latitude|longitude'" 2>nul
if errorlevel 1 (
    adb %DEVICE% shell dumpsys location | findstr /C:"network" | findstr /C:"Location"
)
echo.

echo [3/3] 检查Mock状态...
echo.
adb %DEVICE% shell dumpsys location | findstr /C:"mock" /C:"test"
echo.

echo ════════════════════════════════════════════
echo  解析位置信息
echo ════════════════════════════════════════════
echo.

rem 提取并显示位置
echo 正在解析位置数据...
echo.

adb %DEVICE% shell dumpsys location > temp_loc.txt

echo 📍 GPS Provider:
type temp_loc.txt | findstr /C:"gps.*Location" /C:"gps.*latitude"

echo.
echo 📍 Network Provider:
type temp_loc.txt | findstr /C:"network.*Location" /C:"network.*latitude"

del temp_loc.txt 2>nul

echo.
echo ════════════════════════════════════════════
echo.
echo 💡 提示：
echo.
echo   如果看到位置信息，说明第三方APP可以获取到
echo   如果看到mock/test相关信息，说明模拟位置已生效
echo.
echo ════════════════════════════════════════════
echo.

pause

